/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.action.ticket;

import com.mapping.Dispositivo;
import com.mapping.Empleado;
import com.mapping.Ticket;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;

/**
 *
 * @author Ricardo
 */
@Namespace(value = "/")
@Action(value = "altaTicket", results = {
    @Result(name = "success", location = "/GestionTicket/resultadoTicket.jsp")})
public class AltaTicket extends ActionSupport {

    private String descripcion;
    private String atendio;
    private String solicito;
    private String prioridad;
    private String problema;
    private String mensaje;
    private String dispositivo;

    @Override
    public String execute() {
        Ticket ticket = new Ticket();
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("inventarios");
        EntityManager em = emf.createEntityManager();
        EntityTransaction tx = em.getTransaction();
        tx.begin();
        ticket.setDescripcion(descripcion);
        ticket.setEmpAtendio(em.getReference(Empleado.class, atendio));
        ticket.setEmpSolicito(em.getReference(Empleado.class, solicito));
        ticket.setEstado("Pendiente");
        ticket.setFechaInicio(new Date());
        ticket.setFechaFin(new Date());
        ticket.setIdDispositivo(em.getReference(Dispositivo.class, dispositivo));
        ticket.setPrioridad(prioridad);
        ticket.setTipoProblema("GP");
        
        String id = "TI";
        Date d = new Date();
        id+=d.getMonth();
        id+=d.getDate();
        id+=d.getHours();
        id+=d.getSeconds();
                
        ticket.setIdTicket(id);
        mensaje = "El ticket se dio de alta el ticket : "+id;
        em.persist(ticket);
        em.flush();
        tx.commit();
        em.close();
        return SUCCESS;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public void setAtendio(String atendio) {
        this.atendio = atendio;
    }

    public void setSolicito(String solicito) {
        this.solicito = solicito;
    }

    public void setPrioridad(String prioridad) {
        this.prioridad = prioridad;
    }

    public void setProblema(String problema) {
        this.problema = problema;
    }

    public void setDispositivo(String dispositivo) {
        this.dispositivo = dispositivo;
    }

    public String getMensaje() {
        return mensaje;
    }
}
